home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Updaters / WhiteCap 3.0.4 / WhiteCap Source.sit / WhiteCap Source / Common / io / CEgOStream.cpp < prev    next >
C/C++ Source or Header  |  1999-07-13  |  2KB  |  124 lines

  1. #include "CEgOStream.h"
  2. #include "CEgIStream.h"
  3.  
  4.  
  5.  
  6. CEgOStream::CEgOStream() {
  7.  
  8. }
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. void CEgOStream::PutByte( unsigned char inChar ) {
  18.         
  19.     PutBlock( &inChar, 1 );
  20. }
  21.  
  22.  
  23.  
  24.  
  25. void CEgOStream::PutLong( long inNum ) {
  26.     unsigned long int u = inNum;
  27.  
  28.     PutByte( (unsigned char) (u & 0xFF) );
  29.     u /= 0x100;
  30.     PutByte( (unsigned char) (u & 0xFF) );
  31.     u /= 0x100;
  32.     PutByte(  (unsigned char) (u & 0xFF) );
  33.     PutByte( (unsigned char) (u / 0x100) );
  34. }
  35.  
  36.  
  37.  
  38. void CEgOStream::PutShort( signed short int inNum ) {
  39.     unsigned short int u = inNum;
  40.     
  41.     PutByte( (unsigned char) (u & 0xFF) );
  42.     PutByte( (unsigned char) (u / 0x100) );
  43. }
  44.  
  45.  
  46.  
  47. void CEgOStream::Writeln( const char* inStr ) {
  48.     
  49.     if ( noErr() )     {
  50.         Write( inStr );
  51.         PutByte( 13 );
  52.         //PutByte( 10 );
  53.     }                                                    // Put return
  54.         
  55. }
  56. void CEgOStream::Writeln( const UtilStr& inStr ) {
  57.     
  58.     if ( noErr() )     
  59.         PutBlock( inStr.getCStr(), inStr.length() );    // Put string
  60.         
  61.     Writeln();
  62.     
  63. }
  64.  
  65.  
  66. void CEgOStream::Write( const char* inStr ) {
  67.     const char*    s = inStr;
  68.     
  69.     if ( inStr ) {
  70.         while ( *s )
  71.             s++;
  72.  
  73.         PutBlock( inStr, s - inStr ); 
  74.     }    
  75. }
  76.  
  77.  
  78.  
  79. void CEgOStream::Write( const UtilStr* inData ) {
  80.     
  81.     if ( inData )
  82.         PutBlock( inData -> getCStr(), inData -> length() );
  83. }
  84.  
  85.  
  86. void CEgOStream::PutBlock( const void* inSrce, long numBytes ) {
  87.     
  88.     mOBuf.Append( (char*) inSrce, numBytes );
  89. }
  90.  
  91.  
  92. void CEgOStream::PutBlock( CEgIStream& inStream, long inBytes ) {
  93.     static UtilStr buf;
  94.     
  95.     buf.Assign( inStream, inBytes );
  96.     if ( inStream.noErr() ) 
  97.         PutBlock( buf.getCStr(), inBytes );
  98.     else
  99.         throwErr( cOStreamEOfIS );
  100. }
  101.  
  102.  
  103.  
  104.  
  105.  
  106. void CEgOStream::skip( long inBytes ) {
  107.     
  108.     if ( inBytes > 0 )
  109.         PutBlock( NULL, inBytes );
  110. }
  111.  
  112.  
  113.  
  114. void CEgOStream::Reset() {
  115.     mOBuf.Wipe();
  116.     throwErr( ::cNoErr );
  117. }
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.